Guava Function এবং Java Lambda Expression এর সমন্বয়

Java Technologies - গুয়াভা (Guava) - Guava এবং Java 8 Streams
221

Guava Function এবং Java Lambda Expression একত্রে ব্যবহার করা হলে কোড আরও সংক্ষিপ্ত এবং কার্যকর হয়। Guava লাইব্রেরি জাভা ৮-এর আগে ফাংশনাল প্রোগ্রামিং স্টাইলের সমর্থন দেওয়ার জন্য Function ইন্টারফেস সরবরাহ করত। কিন্তু জাভা ৮-এর পরে, Lambda Expressions এবং java.util.function প্যাকেজ যুক্ত হয়, যা Guava-এর Function-এর বিকল্প হিসেবে কাজ করে।

Guava Function এবং Lambda Expression-এর সমন্বয়

নীচে Guava Function এবং Java Lambda Expression একত্রে ব্যবহার করার উদাহরণ দেওয়া হলো:


উদাহরণ ১: Guava Function-এর বেসিক ব্যবহার

import com.google.common.base.Function;
import com.google.common.collect.Lists;

import java.util.List;

public class GuavaFunctionExample {
    public static void main(String[] args) {
        // Guava Function ডিফাইন করা
        Function<String, Integer> stringLengthFunction = new Function<String, Integer>() {
            @Override
            public Integer apply(String input) {
                return input.length();
            }
        };

        // একটি String লিস্টের প্রতিটি আইটেমের দৈর্ঘ্য বের করা
        List<String> names = List.of("Alice", "Bob", "Charlie");
        List<Integer> nameLengths = Lists.transform(names, stringLengthFunction);

        System.out.println("Name lengths using Guava Function: " + nameLengths);
    }
}

উদাহরণ ২: Lambda Expression ব্যবহার করে Guava Function সরলীকরণ

import com.google.common.collect.Lists;

import java.util.List;

public class GuavaWithLambdaExample {
    public static void main(String[] args) {
        // Lambda Expression ব্যবহার করে Function ডিফাইন করা
        java.util.function.Function<String, Integer> stringLengthFunction = input -> input.length();

        // একটি String লিস্টের প্রতিটি আইটেমের দৈর্ঘ্য বের করা
        List<String> names = List.of("Alice", "Bob", "Charlie");
        List<Integer> nameLengths = Lists.transform(names, stringLengthFunction::apply); // Lambda Function ব্যবহার

        System.out.println("Name lengths using Lambda: " + nameLengths);
    }
}

উদাহরণ ৩: Guava Function ও Lambda Expression-এর কম্বিনেশন

import com.google.common.base.Function;
import com.google.common.collect.Lists;

import java.util.List;

public class CombinedExample {
    public static void main(String[] args) {
        // Guava Function এবং Lambda Expression একত্রে ব্যবহার
        Function<String, Integer> guavaFunction = input -> input.length(); // Lambda দিয়ে Guava Function

        List<String> names = List.of("Alice", "Bob", "Charlie");
        List<Integer> nameLengths = Lists.transform(names, guavaFunction::apply);

        System.out.println("Name lengths using Guava and Lambda: " + nameLengths);
    }
}

কাজের ধাপ:

  1. Guava Function ব্যবহার:
    • Guava-এর Function ইন্টারফেস একটি ইনপুট নেয় এবং একটি আউটপুট প্রদান করে।
    • এটিকে Lists.transform() এর মতো মেথডে ব্যবহার করা যায়।
  2. Lambda Expression ব্যবহার:
    • জাভা ৮-এর Lambda Expression সহজেই Guava-এর Function এর সমান কাজ করতে পারে।
  3. Lambda এবং Guava একত্রে:
    • Lambda Expression এর মাধ্যমে Guava Function কে আরও সংক্ষিপ্ত করা সম্ভব।

প্রধান সুবিধা:

  1. Lambda ব্যবহার করে কোডের সরলীকরণ
  2. Guava এর বিদ্যমান টুল এবং মেথডগুলোর শক্তি ব্যবহার।
  3. পুরনো কোডের সাথে সামঞ্জস্য রেখে নতুন ফিচার যুক্ত করা।

লক্ষ্য:

যদি আপনি নতুন কোড লিখছেন, জাভা ৮ বা তার পরবর্তী ফিচার (যেমন java.util.function.Function) সরাসরি ব্যবহার করুন। তবে Guava-এর বিদ্যমান লাইব্রেরির সুবিধা নিতে চাইলে Lambda Expressions ও Guava Function একত্রে ব্যবহার করা যেতে পারে।

Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...